package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 岗位信息业务对象 post
 *
 * @author ruoyi
 * @date 2025-06-11
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PostBo extends BaseEntity {

    /**
     * 主键ID
     */
    @NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 岗位名称
     */
    @NotBlank(message = "岗位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String postName;


    //经度
    private BigDecimal longitude;

    //纬度
    private BigDecimal latitude;
    /**
     * 所属部门
     */
    @NotBlank(message = "所属部门不能为空", groups = { AddGroup.class, EditGroup.class })
    private String department;

    /**
     * 岗位分类
     */
    @NotBlank(message = "岗位分类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String postCategory;

    /**
     * 岗位类型
     */
    @NotBlank(message = "岗位类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String postType;

    /**
     * 地点类型
     */
    @NotBlank(message = "地点类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String locationType;

    /**
     * 岗位地点
     */
    @NotBlank(message = "岗位地点不能为空", groups = { AddGroup.class, EditGroup.class })
    private String postLocation;

    /**
     * 有效日期
     */
    @NotNull(message = "有效日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String validDate;

    /**
     * 时间范围
     */
    @NotBlank(message = "时间范围不能为空", groups = { AddGroup.class, EditGroup.class })
    private String timeRange;

    /**
     * 执勤方式
     */
    @NotBlank(message = "执勤方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dutyMethod;

    /**
     * 人员要求
     */
    @NotBlank(message = "人员要求不能为空", groups = { AddGroup.class, EditGroup.class })
    private String personnelRequirements;


}
